/**
 * Author:yuiop
 * Date:2022/3/29 17:04
 */
package com.devops.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.devops.admin.model.DOSRole;
import com.devops.admin.po.DOSRolePo;
import com.devops.admin.vo.DOSRoleVo;
import com.devops.common.utils.Message;

import java.util.List;

public interface DOSRoleService extends IService<DOSRole> {

    /**
     * @Author heyabo
     * @Description 添加角色
     * @Date 11:44 2022/8/29
     * @Param [dosRole]
     * @return com.devops.admin.model.DOSRole
     **/
    DOSRole saveRole(DOSRoleVo dosRole);

    /**
     * @Author heyabo
     * @Description 更新角色信息
     * @Date 13:55 2022/8/29
     * @Param [dosRole]
     * @return com.devops.admin.model.DOSRole
     **/
    DOSRole updateRole(DOSRoleVo dosRole);

    /**
     * @Author heyabo
     * @Description 删除角色
     * @Date 14:11 2022/8/29
     * @Param [roleId]
     * @return java.lang.Boolean
     **/
    Boolean deleteRole(Integer roleId);

    /**
     * @Author heyabo
     * @Description 为角色绑定菜单
     * @Date 14:41 2022/8/29
     * @Param [roleVo]
     * @return com.devops.common.utils.Message
     **/
    Message bindMenus(DOSRoleVo roleVo);

    /**
     * @Author heyabo
     * @Description 获取所有的角色信息
     * @Date 15:38 2022/8/29
     * @Param [roleVo]
     * @return java.util.List<com.devops.admin.po.DOSRolePo>
     **/
    List<DOSRolePo> getAllRoles(DOSRoleVo roleVo);

    /**
     * @Author heyabo
     * @Description 查询可用的角色信息
     * @Date 15:38 2022/8/30
     * @Param []
     * @return java.util.List<com.devops.admin.model.DOSRole>
     **/
    List<DOSRole> getUseable();
}
